草庐IT

MySQL SELECT 增量计数器

全部标签

MySQL 计数性能

如果我正在制作一个消息应用程序(例如电子邮件),我必须计算消息的数量。我是不是每次都对消息进行计数会更好,还是应该创建一个名为numOfMsg的新列并在收到消息时递增它。编辑:好像是phpBBhttp://wiki.phpbb.com/Table.phpbb_topics将回复号码存储在数据库中,有谁知道他们的意图是什么? 最佳答案 您可以只使用MySQL函数COUNT()来计算消息数。如果您使用适当的索引,这会非常非常快。(如果您按user+box进行计数,您将希望在user+box上有一个组合索引)请注意,MySQL还将缓存您的

mysql - 获取查询中包含 LIMIT 的所有结果的计数

SELECT`p`.`name`,`f`.*FROM`players``p`,`folks``f`WHERE`p`.`id`=`f`.`guid`AND`f`.`deleted`=0AND`first`={$id}AND`text`LIKE?LIMIT10如您所见,我在这里使用了LIMIT条件。我需要计算在没有LIMIT条件的情况下匹配的所有结果。我试过使用:FOUND_ROWS();但我在使用它时遇到了问题,因为它不会在任何地方返回“所有”结果。 最佳答案 以下应该做:)重要的是SQL_CALC_FOUND_ROWS,否则FOUN

php - 对于SQL行计数,使用PDO rowCount还是count(*) AS更有效率?

在我的脚本中,我有大约15个SQL查询,仅用于计算行数并将它们显示给用户。什么是最有效的方法?我应该使用:$stmt=$cxn->prepare("SELECTidFROMitemsWHEREseller=?");$stmt->execute(array($username));echo$stmt->rowCount();或者这个:$stmt=$cxn->prepare("SELECTcount(*)ascountFROMitemsWHEREseller=?");$stmt->execute(array($username));while($row=$stmt->fetch(PDO::

MySQL:从时间序列数据中提取计数器差异

我有一个像这样的MySQL表:CREATETABLEIFNOTEXISTS`mytable`(`ts`datetimeNOTNULL,`cnt`int(10)unsignedNOTNULL,PRIMARYKEY(`ts`))ENGINE=InnoDB;每当我们获得更新时,我们都会在其中存储事件计数器的值;这些更新在任意时间到达。我如何提取每X时间(例如5分钟、一天、一个月等)的事件数?我可以将其简化为通过日期/时间sql函数(例如小时、天、月等)轻松提取的时间间隔。虽然我们没有任何保证,但与我想要提取的间隔相比,平均数据是“密集的”。例如。数据通常每小时出现多次,但我永远不会要求小于1

mysql - SQL 查询::计数中的参数?

假设我有一张包含以下列的电影租户表:用户名电影编号租金_开始_日期租金到期日我正在尝试实现如下所示的输出表:[UserID,CountofMoviesDuein1Day,CountofMoviesDuein1Week]这可以在一个查询中完成吗?我目前有一个php脚本,它对1天内到期的电影运行1个查询,另一个查询运行1周内到期的电影。然后针对每个用户ID循环这两个查询,基本上逐槽填充表。这有点慢。通过尝试仅使用1个查询创建此输出,我尝试了类似的操作:SELECTUserID,count(movieID)FROMMovieTableGROUPBYmovieID但这不会创建到期日期计数列。是

MySQL 查询 - 根据列获取计数总和

我有一个包含操作和问题ID的mysql表。每个Action都有这样的分数:ACTION|SCOREdownvote_question|-1upvote_question|+1in_cardbox|+2我想查询得分最高的问题,但我想不出来。http://sqlfiddle.com/#!2/84e26/15到目前为止我的查询是:SELECTcount(*),l1.question_id,l1.actionFROM`log`l1GROUPBYl1.question_id,l1.action它为我提供了每个question_id及其所有累积的操作。我想要的是:QUESTION_ID|SCORE

PHP:喜欢/不喜欢计数器

我有一个漫画网站,我希望用户可以为每部漫画和每件艺术品一次投票。我的代码似乎有两个问题:1)我只希望一个用户每张图片投票一次...所以我想捕获他们的信息并将其存储在数据库中。我有一个ONDUPLICATEKEYUPDATE,但它给了我以下语法错误,即使我没有发现任何错误:Error:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'table=VALUES(table),imgid=VALUES(imgid)'atli

mysql - 单个查询中来自多个碱基的计数

我有2个MySQL数据库,我想计算每个数据库上两个表中的行数并合并结果。SELECTcount(*)FROMbase_1.users;+----------+|count(*)|+----------+|15|+----------+SELECTcount(*)FROMbase_2.users;+----------+|count(*)|+----------+|75|+----------+此查询返回第一个计数的结果。SELECTcount(*)FROMbase_1.users,base_2.users;+----------+|count(*)|+----------+|15|+-

mysql - 显示表中的所有列以及每列中填充记录的计数

我需要编写一条语句来显示表中的每一列、填充该列的记录的数量和百分比,以及值的非重复计数。例如,如果我有一个地址表包含:Addr1|AddrText|PostalCode11111|demoave|9121022222|demo2ave|null33333|null|null它应该显示如下内容:columns|Count|PercentageAddr1|3|100AddrText|2|66.6PostalCode|1|33.3或者让列保持不变,只将数据作为行,但我认为上面的方法可能更容易。ps:抱歉,如果我无法正确设置格式,但我希望你能理解。 最佳答案

mysql - 使用计数和抑制/忽略组

是否可以在select子句中使用groupby来抑制计数?我需要count来忽略groupby子句我得到了这个正在计算总条目数的查询。查询是通用生成的,因此我无法进行任何全面的更改,例如子查询等。在某些特定情况下,需要一个分组依据来检索正确的行,因此不能删除分组依据SELECTcount(dv.id)numFROM`data_voucher`dvLEFTJOIN`data_voucher_enclosure`deONde.data_voucher_id=dv.idWHEREIF(de.idISNULL,0,1)=0GROUPBYdv.id 最佳答案